Method and System for Detecting Errors in Local Area Network

ABSTRACT

Novel tools and techniques are provided for implementing error detection in a network, and, more particularly, to methods, systems, and apparatuses for implementing error and/or fault detection in a network and/or media stream and providing options to address the error and/or fault in the network and/or media stream. In various embodiments, a computer might detect an error in a first network and send a notification indicating that the error has occurred. The notification might contain one or more options to address the error in the first network. The computer, a user device, a service provider device, or a content provider device might receive and display the notification containing the one or more options. The computer, the user device, the service provider device, or the content provider device might then select at least one of the one or more options to address the error in the first network.

CROSS-REFERENCES TO RELATED APPLICATIONS

This application may be related to U.S. patent application Ser. No.15/966,387 (the “'387 Application”), filed on Apr. 30, 2018 by MichaelD. Sprenger et al. (attorney docket no. 1498-US-01), entitled, “Systemand Method for Displaying and Interacting with Notifications,” thedisclosure of which is incorporated herein by reference in its entiretyfor all purposes.

The respective disclosures of these applications/patents (which thisdocument refers to collectively as the “Related Applications”) areincorporated herein by reference in their entirety for all purposes.

COPYRIGHT STATEMENT

A portion of the disclosure of this patent document contains materialthat is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by anyone of the patent documentor the patent disclosure as it appears in the Patent and TrademarkOffice patent file or records, but otherwise reserves all copyrightrights whatsoever.

FIELD

The present disclosure relates, in general, to methods, systems, andapparatuses for implementing error detection in a network, and, moreparticularly, to methods, systems, and apparatuses for implementingerror and/or fault detection in a network and/or media stream andproviding options to address the error and/or fault in the networkand/or media stream.

BACKGROUND

Currently, when an error or fault occurs in a customer's network, thecustomer often does not know what caused the error or how to correct theerror. The customer must call the service provider and/or contentprovider to correct the error or fault in the network. Additionally, theservice provider and/or content provider must rely on the customer'sdescription of the error to address the error.

Hence, there is a need for more robust and scalable solutions forimplementing error detection in a network, and, more particularly, tomethods, systems, and apparatuses for implementing error and/or faultdetection in a network and/or media stream and providing options toaddress the error and/or fault in the network and/or media stream.

BRIEF DESCRIPTION OF THE DRAWINGS

A further understanding of the nature and advantages of particularembodiments may be realized by reference to the remaining portions ofthe specification and the drawings, in which like reference numerals areused to refer to similar components. In some instances, a sub-label isassociated with a reference numeral to denote one of multiple similarcomponents. When reference is made to a reference numeral withoutspecification to an existing sub-label, it is intended to refer to allsuch multiple similar components.

FIG. 1 is a schematic diagram illustrating a system for implementingerror and/or fault detection in a network(s) and/or media stream, inaccordance with various embodiments.

FIG. 2 is a schematic diagram illustrating another system forimplementing error and/or fault detection in a network(s) and/or mediastream, in accordance with various embodiments.

FIG. 3 is a schematic diagram illustrating yet another system forimplementing error and/or fault detection in a network(s) and/or mediastream, in accordance with various embodiments.

FIG. 4 is a flow diagram illustrating a method for implementing errorand/or fault detection in a network(s), in accordance with variousembodiments.

FIG. 5 is a flow diagram illustrating a method for implementing errorand/or fault detection in a media content stream, in accordance withvarious embodiments.

FIGS. 6A-6C are block diagrams illustrating various non-limitingexamples of error and/or fault detection in a network(s), in accordancewith various embodiments.

FIG. 7 is a block diagram illustrating an exemplary computer or systemhardware architecture, in accordance with various embodiments.

FIG. 8 is a block diagram illustrating a networked system of computers,computing systems, or system hardware architecture, which can be used inaccordance with various embodiments.

DETAILED DESCRIPTION OF CERTAIN EMBODIMENTS

Overview

Various embodiments provide tools and techniques for implementing errordetection in a network, and, more particularly, to methods, systems, andapparatuses for implementing error and/or fault detection in a networkand/or media stream and providing options to address the error and/orfault in the network and/or media stream.

In various embodiments, a computer might detect an error in a firstnetwork and send a notification indicating that the error has occurred.The notification might contain one or more options to address the errorin the first network. The computer, a user device, a service providerdevice, or a content provider device might receive and display thenotification containing the one or more options. The computer, the userdevice, the service provider device, or the content provider devicemight then select at least one of the one or more options to address theerror in the first network.

In other embodiments, a media player might stream a media content streamcontaining at least one media content. The media player might detect anerror in a network influencing streaming of the media content stream.The media player might send a notification to at least one of a userdevice, a service provider device, or a content provider device. Thenotification might contain information associated with the error in thenetwork and information associated with the media content stream. Thenotification might additionally include one or more options to addressthe error occurring with the media content stream.

In sum, the various embodiments provide a computer/media player thatdetects an error occurring in a network/media content stream. Thecomputer/media player might provide a user, service provider, contentprovider, and/or the like with options to immediately address andresolve the error in the network/media content stream. Furtheradvantages of such a system include, without limitation, informationassociated with an error to be sent immediately to a user, serviceprovider, content provider, etc., options to immediately resolve/correctthe error, different ways to view/record a media content stream, etc.The customer is also relieved from having to describe the erroroccurring in the network/media content stream because this informationmay be sent directly to the service provider, content provider, etc.

The following detailed description illustrates a few exemplaryembodiments in further detail to enable one of skill in the art topractice such embodiments. The described examples are provided forillustrative purposes and are not intended to limit the scope of theinvention.

In the following description, for the purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of the described embodiments. It will be apparent to oneskilled in the art, however, that other embodiments of the presentinvention may be practiced without some of these specific details. Inother instances, certain structures and devices are shown in blockdiagram form. Several embodiments are described herein, and whilevarious features are ascribed to different embodiments, it should beappreciated that the features described with respect to one embodimentmay be incorporated with other embodiments as well. By the same token,however, no single feature or features of any described embodimentshould be considered essential to every embodiment of the invention, asother embodiments of the invention may omit such features.

Unless otherwise indicated, all numbers used herein to expressquantities, dimensions, and so forth used should be understood as beingmodified in all instances by the term “about.” In this application, theuse of the singular includes the plural unless specifically statedotherwise, and use of the terms “and” and “or” means “and/or” unlessotherwise indicated. Moreover, the use of the term “including,” as wellas other forms, such as “includes” and “included,” should be considerednon-exclusive. Also, terms such as “element” or “component” encompassboth elements and components comprising one unit and elements andcomponents that comprise more than one unit, unless specifically statedotherwise.

Various embodiments described herein, while embodying (in some cases)software products, computer-performed methods, and/or computer systems,represent tangible, concrete improvements to existing technologicalareas, including, without limitation, media content streaming ordownloading technology, error/fault detection in a network, error/faultrepair in network, and/or the like. In other aspects, certainembodiments can improve the functioning of user equipment or systemsthemselves (e.g., media players, set-top boxes (“STBs”), media contentstreaming or downloading systems, gateway devices, user devices, etc.),for example, by sending, with a computer, a notification indicating thatthe error has occurred in the first network to at least one of a userdevice, a service provider device, or a content provider device, whereinthe notification contains one or more options to address the error inthe first network and selecting, with one or more user devices, theservice provider device, or the content provider device, at least one ofthe one or more options to address the error in the first network,errors/faults in a network may be easily addressed and resolved; and/orthe like. In particular, to the extent any abstract concepts are presentin the various embodiments, those concepts can be implemented asdescribed herein by devices, software, systems, and methods that involvespecific novel functionality (e.g., steps or operations), such as,detecting, with a computer, an error in a first network; sending, withthe computer, a notification indicating that the error has occurred inthe first network to at least one of a plurality of user devices, aservice provider device, or a content provider device, wherein thenotification contains one or more options to address the error in thefirst network; receiving, with one or more user devices of the pluralityof user devices, the service provider device, or the content providerdevice, the notification indicating that the error has occurred in thefirst network; displaying, with the one or more user devices, theservice provider device, or the content provider device, thenotification containing the one or more options to address the error inthe first network; and selecting, with the one or more user devices, theservice provider device, or the content provider device, at least one ofthe one or more options to address the error in the first network,and/or the like, which optimizes error and/or fault detection in anetwork and resolution of errors and/or faults in a network, and/or thelike, to name a few examples, that extend beyond mere conventionalcomputer processing operations. These functionalities can producetangible results outside of the implementing computer system, including,merely by way of example, optimized error and/or fault detection, errorand/or fault resolution, streaming of media content, and/or the like, atleast some of which may be observed or measured by customers and/orservice providers.

In an aspect, a method might comprise detecting, with a computingsystem, an error in a first network; sending, with the computer, anotification indicating that the error has occurred in the first networkto at least one of a user device, a service provider device, or acontent provider device, wherein the notification contains one or moreoptions to address the error in the first network; receiving, with theat least one of the user device, the service provider device, or thecontent provider device, the notification indicating that the error hasoccurred in the first network; displaying, with the at least one of theuser device, the service provider device, or the content providerdevice, the notification containing the one or more options to addressthe error in the first network; and selecting, with the at least one ofthe user device, the service provider device, or the content providerdevice, at least one of the one or more options to address the error inthe first network.

In some embodiments, the computing system may be the same as one or moreof the at least one of the user device, the service provider device, orthe content provider device. In other embodiments, the computing systemmay be different from at least one of the user device, the serviceprovider device, or the content provider device. The computing systemmay be at least one of a modem, a gateway, a set top box, a desktopcomputer, a laptop computer, a tablet computer, a server computer, awireless phone, a video game console, or a remote-control device, and/orthe like. Each of the at least one of the user device, the serviceprovider device, or the content provider device may be at least one of aset top box, a desktop computer, a laptop computer, a tablet computer, aserver computer, a wireless phone, a gaming console, or a remote-controldevice, and/or the like.

According to some embodiments, sending the notification might furthercomprise sending, with the computing system, the notification over asecond network, wherein the second network is different from the firstnetwork.

Merely by way of example, in some cases, the notification might includean identification of the error occurring in the first network. Thenotification might indicate that the error is a reduction in bandwidth.Additionally and/or alternatively, the notification might indicate thatthe error in the first network is at least one of an error occurring ina Wi-Fi connection, an error occurring in a digital subscriber line, anerror occurring in a fiber-optic connection, or an error occurring in atleast one of a modem, a gateway, a set top box, a desktop computer, alaptop computer, a tablet computer, a wireless phone, a gaming console,a media player, or a remote-control device, and/or the like.

In some embodiments, the one or more options to address the error in thefirst network might include at least one of: (1) an option to displayinstructions indicating steps to follow to address the error in thefirst network; (2) an option to contact at least one of a user, aservice provider, or a content provider; (3) an option to automaticallyset up a call or a chat session between the user and at least one of theservice provider or the content provider; (4) an option to restart atleast one of a modem, a gateway, a set top box, a desktop computer, alaptop computer, a tablet computer, a wireless phone, a gaming console,a media player, or a remote control device; (5) an option to open aticket indicating the error in the first network with at least one ofthe service provider or the content provider; and/or (6) an option torun a bot with predetermined steps to determine whether the error islocal or system-wide using remote test automation (“RTA”) or the like,and either to return results to the system and/or the user withinformation regarding the error and/or to automatically solve the errorbased on the RTA with option to contact the user with a notificationindicating that the error has been solved; and/or the like. The optionto automatically set up the call or the chat session further comprisesan option to start a video call or an instant messaging session with atleast one of the user, the service provider, or the content provider.

In some cases, selecting the at least one of the one or more options toaddress the error in the first network might cause one or more of: (1)at least one of the instructions indicating steps to follow to addressthe error in the first network to be displayed; (2) at least one of theuser, the service provider, or the content provider to be contacted; (3)the call or the chat session between the user and at least one of theservice provider or the content provider to be set up; (4) at least oneof the modem, the gateway, the set top box, the desktop computer, thelaptop computer, the tablet computer, the wireless phone, the gamingconsole, the media player, or the remote control device to be restarted;(5) the ticket indicating the error with the first network with at leastone of the service provider or the content provider to be opened; and/or(6) the system to perform RTA to determine whether the error is local orsystem-wide and either to return the results to the system and/or theuser with information regarding the error and/or to automatically solvethe error based on the RTA and to optionally contact the user with thenotification indicating that the error has been solved; and/or the like.

In various cases, the method might additionally comprise streaming, withthe user device, a media content stream; determining, with the userdevice, whether the error is influencing streaming of the media contentstream; and based on a determination that the error is influencingstreaming of the media content stream, performing at least one ofautomatically recording the media content stream or switching a sourceof media content stream.

In another aspect, a system might comprise a first computing system andat least one of a user device, a service provider device, or a contentprovider device. The first computing system might comprise at least onefirst processor; and a first non-transitory computer readable mediumcommunicatively coupled to the at least one first processor. The firstnon-transitory computer readable medium might have stored thereoncomputer software comprising a first set of instructions that, whenexecuted by the at least one first processor, causes the first computingsystem to: detect an error in a first network; and send a notificationindicating that the error has occurred in the first network to at leastone of a user device, a service provider device, or a content providerdevice, wherein the notification contains one or more options to addressthe error in the first network.

The at least one of the user device, the service provider device, or thecontent provider device might each comprise at least one secondprocessor; and a second non-transitory computer readable mediumcommunicatively coupled to the at least one second processor. The secondnon-transitory computer readable medium might have stored thereoncomputer software comprising a second set of instructions that, whenexecuted by the at least one second processor, causes the user device,the service provider device, or the content provider device to: receivethe notification indicating that the error has occurred in the firstnetwork; display the notification containing the one or more options toaddress the error in the first network; and select at least one of theone or more options to address the error in the first network.

In some cases, the first computing system might be the same as one ormore of the at least one of the user device, the service providerdevice, or the content provider device. In other cases, the firstcomputing system might be different from at least one of the userdevice, the service provider device, or the content provider device.

According to some embodiments, the notification might include anidentification of the error occurring in the first network. The errormight be a reduction in bandwidth. Additionally and/or alternatively,the error in the first network might be at least one of an erroroccurring in a Wi-Fi connection, an error occurring in a digitalsubscriber line, an error occurring in a fiber-optic connection, or anerror occurring in at least one of a modem, a gateway, a set top box, adesktop computer, a laptop computer, a tablet computer, a wirelessphone, a gaming console, a media player, or a remote-control device,and/or the like.

In some embodiments, the one or more options to address the error in thefirst network might include at least one of: (1) an option to displayinstructions (e.g., via text message, e-mail, and/or the like, in casesthat the service is down) indicating steps to follow to address theerror in the first network; (2) an option to contact at least one of auser, a service provider, or a content provider; (3) an option toautomatically set up a call or a chat session between the user and atleast one of the service provider or the content provider; (4) an optionto restart at least one of a modem, a gateway, a set top box, a desktopcomputer, a laptop computer, a tablet computer, a wireless phone, agaming console, a media player, or a remote control device; and/or (5)an option to open a ticket indicating the error in the first networkwith at least one of the service provider or the content provider;and/or the like. The option to automatically set up the call or the chatsession further comprises an option to start a video call or an instantmessaging session with at least one of the user, the service provider,or the content provider.

In some cases, selecting the at least one of the one or more options toaddress the error in the first network might cause one or more of: (1)at least one of the instructions indicating steps to follow to addressthe error in the first network to be displayed; (2) at least one of theuser, the service provider, or the content provider to be contacted; (3)the call or the chat session between the user and at least one of theservice provider or the content provider to be set up; (4) at least oneof the modem, the gateway, the set top box, the desktop computer, thelaptop computer, the tablet computer, the wireless phone, the gamingconsole, the media player, or the remote control device to be restarted;and/or (5) the ticket indicating the error with the first network withat least one of the service provider or the content provider to beopened; and/or the like.

In yet another aspect, a method might comprise streaming, with a mediaplayer, a media content stream containing at least one media content;detecting, with the media player, an error in a network influencingstreaming of the media content stream; and sending, with the mediaplayer, a notification to at least one of a user device, a serviceprovider device, or a content provider device, wherein the notificationcomprises information associated with the error in the network andinformation associated with the media content stream.

In some embodiments, the media player may be at least one of a set topbox, a desktop computer, a laptop computer, a tablet computer, awireless phone, or a gaming console, and/or the like.

According to some embodiments, the information associated with the errorin the network might include an identification of the error occurring inthe network. The notification might indicate that the error is areduction in bandwidth. Additionally and/or alternatively, thenotification might indicate that the error in the network is at leastone of an error occurring in a WiFi connection, an error occurring in adigital subscriber line, an error occurring in a fiber-optic connection,or an error occurring in at least one of a modem, a gateway, a set topbox, a desktop computer, a laptop computer, a tablet computer, awireless phone, a gaming console, a media player, or a remote-controldevice, and/or the like.

In some embodiments, the information associated with the media contentstream might comprise at least one of a title of the at least one mediacontent, a timestamp associated with the at least one media content, achannel associated with the at least one media content, or a networkassociated with the at least one media content, and/or the like. Thetimestamp might indicate at least one of a point in time in the mediacontent stream when the error was detected or a point in time in the atleast one media content that was saved before the error was detected.According to some embodiments, sending the notification to the at leastone of the user device, the service provider device, or the contentprovider device might comprise periodically sending, with the mediaplayer, information associated with the media content stream to the atleast one of the user device, the service provider device, or thecontent provider device.

The method might additionally include determining, with the mediaplayer, whether the error is influencing streaming of the media contentstream; and based on a determination that the error is influencingstreaming of the media content stream, performing, with the mediaplayer, at least one of automatically recording the media content streamor automatically switching a source of the media content stream.

In other embodiments, the method might comprise determining, with themedia player, whether the error is influencing streaming of the mediacontent stream; based on a determination that the error is influencingstreaming of the media content stream, identifying, with the mediaplayer, one or more user devices available to stream the media contentstream; and displaying, with the media player, a list of the identifiedone or more user devices available to stream the media content stream ona display screen of the media player.

Merely by way of example, the method might include based on thedetermination that the error is influencing streaming of the mediacontent stream, streaming, with the identified one or more user devices,the media content stream, wherein the identified one or more userdevices utilize the information associated with the at least one mediacontent to identify the at least one media content that was streaming atthe media player at a point in time when the error began influencingstreaming of the media content stream. Additionally and/oralternatively, streaming, with the identified one or more user devices,the media content stream might comprise, based on the informationassociated with the at least one media content, determining, with theidentified one or more user devices, at least one of a point in time inthe media content when the error occurred or a point in time in themedia content before the error occurred; and streaming, with theidentified one or more user devices, the media content stream from atleast one of the determined point in time in the media content when theerror occurred or the determined point in time in the media contentbefore the error occurred.

In an additional aspect, a system might comprise a media player and atleast one identified device. The media player might comprise at leastone first processor; and a first non-transitory computer readable mediumcommunicatively coupled to the at least one first processor. The firstnon-transitory computer readable medium might have stored thereoncomputer software comprising a first set of instructions that, whenexecuted by the at least one first processor, causes the media playerto: stream a media content stream containing at least one media content;detect an error in a network influencing streaming of the media contentstream; and send a notification to at least one of a user device, aservice provider device, or a content provider device, wherein thenotification comprises information associated with the error in thenetwork and information associated with the media content stream.

According to some embodiments, the information associated with the errorin the network might include an identification of the error occurring inthe network. The notification might indicate that the error is areduction in bandwidth. Additionally and/or alternatively, thenotification might indicate that the error is at least one of an erroroccurring in a WiFi connection, an error occurring in a digitalsubscriber line, an error occurring in a fiber-optic connection, or anerror occurring in at least one of a modem, a gateway, a set top box, adesktop computer, a laptop computer, a tablet computer, a wirelessphone, a gaming console, a media player, or a remote-control device,and/or the like.

In some embodiments, the information associated with the media contentstream might comprise at least one of a title of the at least one mediacontent, a timestamp associated with the at least one media content, achannel associated with the at least one media content, or a networkassociated with the at least one media content, and/or the like. Thetimestamp might indicate at least one of a point in time in the mediacontent stream when the error was detected or a point in time in the atleast one media content that was saved before the error was detected.

The first set of instructions, when executed by the at least one firstprocessor, might further cause the media player to determine whether theerror is influencing streaming of the media content stream; and based ona determination that the error is influencing streaming of the mediacontent stream, perform at least one of automatically recording themedia content stream or automatically switching a source of the mediacontent stream.

In some cases, the first set of instructions, when executed by the atleast one first processor, might further cause the media player todetermine whether the error is influencing streaming of the mediacontent stream; based on a determination that the error is influencingstreaming of the media content stream, identify one or more user devicesavailable to stream the media content stream; display a list of theidentified one or more devices available to stream the media contentstream on a display screen of at least one of the media player, the userdevice, the service provider device, or the content provider device; andreceive a selection of at least one identified device.

The at least one identified device might comprise at least one secondprocessor; and a second non-transitory computer readable mediumcommunicatively coupled to the at least one second processor. The secondnon-transitory computer readable medium might have stored thereoncomputer software comprising a second set of instructions that, whenexecuted by the at least one second processor, causes the at least oneidentified device to: stream the media content stream based on theselection of the at least one identified device.

In some cases, the at least one identified device might utilize theinformation associated with the at least one media content to identifythe at least one media content that was streaming at the media player ata point in time when the error began influencing streaming of the mediacontent stream.

Various modifications and additions can be made to the embodimentsdiscussed without departing from the scope of the invention. Forexample, while the embodiments described above refer to particularfeatures, the scope of this invention also includes embodiments havingdifferent combination of features and embodiments that do not includeall of the above described features.

Specific Exemplary Embodiments

We now turn to the embodiments as illustrated by the drawings. FIGS. 1-8illustrate some of the features of the method, system, and apparatus forimplementing error and/or fault detection in a network, and, moreparticularly, to methods, systems, and apparatuses for implementingerror and/or fault detection in a network and/or media stream andproviding options to address the error and/or fault in the networkand/or media stream, as referred to above. The methods, systems, andapparatuses illustrated by FIGS. 1-8 refer to examples of differentembodiments that include various components and steps, which can beconsidered alternatives or which can be used in conjunction with oneanother in the various embodiments. The description of the illustratedmethods, systems, and apparatuses shown in FIGS. 1-8 is provided forpurposes of illustration and should not be considered to limit the scopeof the different embodiments.

With reference to the figures, FIG. 1 is a schematic diagramillustrating a system 100 for implementing error and/or fault detectionin a network(s) and/or media stream, in accordance with variousembodiments.

In the non-limiting embodiment of FIG. 1, system 100 might comprise amedia player 105. System 100, according to some embodiments, mightfurther comprise one or more display devices 110, which might eachinclude a display screen(s) 115. Additionally and/or alternatively,system 100 might further comprise one or more user devices 120, and/orthe like.

In some embodiments, the media player 105 might comprise one of aprocessor on the display device 110 running a software application(“app”), a processor on the user device 120 running an app, a mediadevice, and/or the like. In some cases, the media device might include,but is not limited to, one of a set-top box (“STB”), a media player, agaming console, a tablet computer, a wireless phone, a server computer,a desktop computer, or a laptop computer, and/or the like. The mediadevice might also include, without limitation, one of a digitalversatile disc or digital video disc (“DVD”) player, a Blu-ray disc(“BD”) player, a digital video recording (“DVR”) device, a streamingvideo player, a streaming music player, or a streaming game player,and/or the like.

In some cases, the one or more display devices 110 might include, butare not limited to, at least one of one or more monitors (e.g., computermonitor or laptop monitor, or the like), one or more television sets(e.g., smart television sets or other television sets, or the like), orone or more screens (e.g., a phone screen, a tablet screen, and/or thelike), and/or the like.

In some embodiments, the user device 120 might include, withoutlimitation, one of a laptop computer, a tablet computer, a smart phone,a mobile phone, a personal digital assistant, a remote-control device,or a portable gaming device, and/or the like. Additionally and/oralternatively, the user device 120 might include, without limitation, atleast one of a dedicated remote control device (with touchscreen displayand/or other user interface device) that is associated with the mediaplayer 105 and/or display device 110, a universal remote control device(with touchscreen display and/or other user interface device) that hasbeen paired, synced, or synchronized with the media player 105 and/ordisplay device 110, a tablet computer that has been paired, synced, orsynchronized with the media player 105 and/or display device 110, asmart phone that has been paired, synced, or synchronized with the mediaplayer 105 and/or display device 110, or other portable device (withtouchscreen display and/or other user interface device) that has beenpaired, synced, or synchronized with the media player 105 and/or displaydevice 110, and/or the like.

The media player 105 might communicatively couple to each of the one ormore display devices 110 and/or the one or more user devices 120 via awireless connection, via a wired connection, or via network 130 (whichmay be a local area network) and/or the like. Each of the one or moredisplay devices 110 might be communicatively coupled to each of thedisplay screen 115 and/or the one or more user devices 120 via awireless connection, via a wired connection, or via network 130 (whichmay be a local area network), and/or the like.

Additionally and/or alternatively, the one or more media players 105and/or the one or more user devices 120 might be communicatively coupledto one or more gateway(s) 125 via network(s) 130. In some cases, themedia player 105, the one or more display devices 110 (including thedisplay screen(s) 115), and the user device(s) 120 may be incommunication with a network 130, which might be a local area network.

Additionally and/or alternatively, the media player 105, the one or moredisplay devices 110 (including the display screen(s) 115), and the userdevice(s) 120 may be disposed within a customer premises 135, whichmight be one of a single family house, a multi-dwelling unit (“MDU”)within a multi-dwelling complex (including, but not limited to, anapartment building, an apartment complex, a condominium complex, atownhouse complex, a mixed-use building, etc.), a motel, an inn, ahotel, an office building or complex, a commercial building or complex,an industrial building or complex, and/or the like.

System 100 might further comprise one or more media (e.g., video, audio,or game) content sources or servers 140 and corresponding database(s)145 that might communicatively couple to the media player 105 via one ormore networks 150 (and, in some cases, via one or moretelecommunications relay systems 155, which might include, withoutlimitation, one or more wireless network interfaces (e.g., wirelessmodems, wireless access points, and the like), one or more towers (e.g.,cellular towers, and/or the like), one or more satellites, and/or thelike). Network(s) 150 and/or relay systems 155 might be communicativelycoupled to media player 105, display device 110, user device 120, and/ornetwork(s) 130, and/or the like via gateway 125 (which might include aresidential gateway, a business gateway, or a commercial gateway, and/orthe like), via a wired connection, via a wireless connection, and/or thelike.

According to some embodiments, system 100 might additionally compriseremote computing system 160 and corresponding database(s) 165 thatcommunicatively couple with the media player 105, the one or moredisplay devices 110, the one or more user devices 120, and/or the likevia the one or more networks 130, the one or more networks 150, or theone or more telecommunications relay systems 155, and/or the like.According to some embodiments, remote computing system 160 mightcomprise at least one of a server computer over a network, a cloud-basedcomputing system over a network, a service provider device, and/or acontent provider device, and/or the like.

In operation, in a first set of embodiments, the media player 105, theone or more display devices 110, the one or more user devices 120, theone or more gateways 125, one or more modems, one or more media contentsources 140, one or more computing system 160, and/or the like mightdetect an error and/or fault within network(s) 130 and/or network(s)150. The error and/or fault in the network(s) 130 and/or network(s) 150may occur in a local area network, in a service provider network, in acontent provider network, in the media player 105, in the display device110, in the user device 120, in the media content source 140, in thegateway 125, and/or in the computing system 160, and/or the like.

In some embodiments, based on the detection of an error occurring innetwork(s) 130 and/or network(s) 150, the media player 105, displaydevice 110, user device 120, media content sources 140, gateway 125,and/or computing system 160, and/or the like, may send a notificationindicating that the error has occurred in the network(s) 130 and/ornetwork(s) 150 to at least one of a display device 110, a user device120, media content source 140, computing system 160 (which may includeone or more service provider devices, one or more content providerdevices, and/or the like), and/or the like. The notification may be sentvia network(s) 130 and/or network(s) 150. Alternatively, if network(s)130 and/or network(s) 150 are experiencing the error and/or fault andnot transmitting communications and/or notifications, the notificationmay be sent via one or more different communications paths (e.g., viaone or more telecommunications relay systems 155).

The notification may identify the error and/or fault occurring in thenetwork. The identification of the error and/or fault may include anindication of a reduction in bandwidth, an indication that an error isoccurring in at least one of the media player 105, display device 110,user device 120, network(s) 130, network(s) 150, gateway 125, mediacontent source(s) 140, and/or computing system 160, an indication thatan error is occurring in a digital subscriber line, an indication thatan error is occurring in a fiber-optic connection, or an indication thatan error is occurring in at least one of a modem, a gateway, a set topbox, a desktop computer, a laptop computer, a tablet computer, awireless phone, a gaming console, a media player, or a remote controldevice, and/or the like. Additionally and/or alternatively, thenotification may indicate where an error is occurring (e.g., in a localarea network 130, in a content provider and/or service provider network150, and/or the like).

In some cases, the one or more display devices 110, the one or more userdevices 120, the one or more service provider devices located incomputing system 160, and/or the one or more content provider deviceslocated in computing system 160, and/or the like might display thenotification containing the one or more options to address the error inthe network.

The notification may contain one or more options for a user, technician,service provider, content provider, and/or the like to address and/orcorrect the error in the network(s) 130 and/or network(s) 150. The oneor more options may include, but are not limited to: (1) an option todisplay instructions indicating steps to follow to address the error inthe network; (2) an option to contact at least one of a user, a serviceprovider, or a content provider; (3) an option to automatically set up acall (e.g., a voice call, a video call, and/or the like) or a chatsession (e.g., an instant messaging session or a text messaging session,etc.) between the user and at least one of the service provider or thecontent provider; (4) an option to restart at least one of a modem, agateway, a set top box, a desktop computer, a laptop computer, a tabletcomputer, a wireless phone, a gaming console, a media player, or aremote control device; and/or (5) an option to open a ticket indicatingthe error in the network with at least one of the service provider orthe content provider; and/or the like.

In various embodiments, a user, technician, service provider, and/orcontent provider may select via the display device 110, user device 120,the service provider device, and/or the content provider device, atleast one option to address the error occurring in network(s) 130 and/ornetwork(s) 150. By selecting at least one of the one or more options, atleast one of the following may occur: (1) at least one of a user device120, a display device 110, a service provider device, and/or a contentprovider device may display instructions indicating steps to follow toaddress the error in the network; (2) an email, text message, or thelike may be sent to at least one of a user (via at least one of a userdevice 120, a display device 110, and/or the like), a service provider(via at least one of a content provider device), a content provider (viaat least one of a content provider device) to contact at least one ofthe user, service provider, and/or content provider; (3) a call (e.g., avoice call, a video call, and/or the like) or a chat session (e.g., aninstant messaging session or a text messaging session, etc.) may beautomatically set up between the user (via a user device 120 and/ordisplay device 110) and at least one of the service provider (via aservice provider device) or the content provide (via a content providerdevice); (4) at least one of a media player 105, display device 110,user device 120, gateway 125, modem, a set top box, a desktop computer,a laptop computer, a tablet computer, a wireless phone, a gamingconsole, a media player, or a remote control device may be automaticallyrestarted; and/or (5) a ticket indicating the error in the network maybe opened with at least one of the service provider or the contentprovider.

Additionally and/or alternatively, the notification may indicate wherethe error is occurring, whether the error and/or fault may be correctedby a user at the customer premises 135, or whether a technician needs tobe sent to the customer premises 135 to fix the error. If an errorand/or fault cannot be corrected by a user, then the one or more optionsmight additionally include an option to schedule a technician to repairthe fault at the customer premises 135. Selecting this option mayschedule a technician to come to the customer premises 135 to repair thefault. The notification may then be sent to a device of the technicianscheduled to repair the fault and include steps to address the fault inthe network 130. Alternatively, a remote test bot and system informationmay be used (either per error basis or on a monthly sweep basis, or thelike) to speed up technician repair time and to assign the repair taskto the correct or appropriate technician team.

Additionally and/or alternatively, at least one of the media player 105,display device 110, user device 120, media content source 140 (which mayinclude a service provider device, a content provider device, and/or thelike), or computing system 160 (which may include a service providerdevice, a content provider device, and/or the like) may determine thatan error and/or fault is occurring with a media content stream. Based ona determination that the error is influencing streaming of the mediacontent stream, at least one of the media player 105, display device110, user device 120, media content source 140 (which may include aservice provider device, a content provider device, and/or the like),gateway 125, computing system 160 (which may include a service providerdevice, a content provider device, and/or the like) may automaticallyrecord the media content stream or switch a source (e.g., switch acontent provider, switch to on-demand, switch to broadcast, switch tosatellite, switch Internet source, and/or the like) of the media contentstream.

In operation, in a second embodiment, media player 105 may detect anerror occurring in the streaming of a media content stream. The mediaplayer 105 may then send a notification to at least one of a displaydevice 110, a user device 120, and/or computing system 160 (which mayinclude at least one of a service provider device and/or contentprovider device, and/or the like), and/or the like. The notification mayinclude information associated with the error in the network andinformation associated with the media content stream.

The information associated with the error in the network may include anidentification of the error occurring in the network. The identificationof the error and/or fault may include an indication of a reduction inbandwidth, an indication that an error is occurring in at least one ofthe media player 105, display device 110, user device 120, gateway 125,media content sources 140, network(s) 130, network(s) 150, and/orcomputing system 160, an indication that an error is occurring in adigital subscriber line, an indication that an error is occurring in afiber-optic connection, or an indication that an error is occurring inat least one of a modem, a gateway, a set top box, a desktop computer, alaptop computer, a tablet computer, a wireless phone, a gaming console,a media player, or a remote control device, and/or the like.

The information associated with the media content stream might includeat least one of a title of the at least one media content, a streamcontent name, a stream file name, information regarding multiple filesin a media stream, a timestamp associated with the at least one mediacontent, a channel associated with the at least one media content, or anetwork associated with the at least one media content, and/or the like.The timestamp might indicate at least one of a point in time in themedia content stream when the error was detected or a point in time inthe at least one media content that was saved before the error wasdetected. In some cases, particularly with respect to the case ofmultiple files in the media stream, the error can be in one of themultiple files but not all of them.

In some cases, a notification may be sent periodically (e.g., every fewseconds, every few minutes, etc.) by media player 105 to at least one ofa display device 110, a user device 120, and/or computing system 160(which may include at least one of a service provider device and/orcontent provider device, and/or the like), and/or the like. Thenotification might include information associated with the media contentstream (e.g., at least one of a title of the at least one media content,a stream content name, a stream file name, information regardingmultiple files in a media stream, a timestamp associated with the atleast one media content, a channel associated with the at least onemedia content, or a network associated with the at least one mediacontent, and/or the like). Additionally and/or alternatively, thenotification may be sent by the media player 105 when the media player105 detects an error (e.g., when the media player 105 detects that it islosing power, and/or the like). In some embodiments, each stream ofmedia content might comprise a plurality of profiles. In some cases,each profile might represent a different resolution of a particularmedia content (e.g., low resolution profile, medium resolution profile,and/or high resolution profile, or the like). In some instances, thedifferent resolution profiles might each utilize different encoders forencoding the particular profile (e.g., a low-cost/low-end encoder forencoding the low resolution profile, a medium-cost/medium-end encoderfor encoding the medium resolution profile, a high-cost/high-end encoderfor encoding the high resolution profile, or the like). Although threeresolutions are described above, any suitable number of profiles may beused for each media content stream, or the like.

Additionally and/or alternatively, when the media player 105 determinesthat the error in the network(s) 130 and/or network(s) 150 isinfluencing a media content stream, the media player 105 might: (1)automatically record the media content stream (via media player 105,user device 120, media content source 140, and/or computing system 160);(2) prompt a user to record the media content stream; (3) automaticallyswitch the source of the media content stream (e.g., switch a videocontent source, switch a content provider, switch to on-demand, switchto broadcast, and/or the like); (4) prompt a user to switch a source ofthe media content stream; (5) identify and display a list of one or moreavailable media players, display devices, and/or user devices to displaythe media content stream; or (6) identify and automatically display themedia content on one or more available media players, display devices,and/or user devices to display the media content stream; and/or thelike.

Based on the information associated with the media content stream, theone or more available media players, display devices, and/or userdevices may automatically resume playing the media content stream fromthe point when the error was detected or from a point in time justbefore the error occurred.

FIG. 2 is a schematic diagram illustrating another system forimplementing error and/or fault detection in a network(s) and/or mediastream, in accordance with various embodiments. In FIG. 2, a fault mightoccur with media player 205 and/or in a communication linecommunicatively coupled to media player 205. As the fault and/or errormight be occurring (which might include, without limitation, a cut, abend, a break, a kink, a loss of power, or the like) until allconnection is lost, signal degradation might be observed by media player205. In response to such detection of signal degradation, media player205 might send a notification (i.e., a dying gasp, or the like) to auser device 220, one or more service provider devices located in mediacontent source 240 and/or computing system 260, and/or one or morecontent provider devices located in media content source 240 and/orcomputing system 260. The notification may be similar to thenotifications described with respect to FIG. 1 and include informationassociated with the error in the network and/or associated with a mediastream that is playing on media player 205 and/or user device 220. Thenotification may also include one or more options to address the errorin the network.

In this manner and based on the notification received from the mediaplayer 205, the media player 205, user device 220, gateway 225, mediacontent source 240, and/or computing system 260 might be able toidentify that an error is occurring with the media player 205, acommunication line communicatively coupled to the media player, and/orthe like, and thus can more easily and more readily implement options torepair or replace the media device 205 and/or one or more communicationlines communicatively coupled to media player 205.

Additionally and/or alternatively, because the media player 205 detectsan error occurring with the media player 205 and/or a communication linecommunicatively coupled to media player 205, the media player 205, userdevice 220, gateway 225, media content source 240, and/or computingsystem 260 may be able to determine that the error is occurring in alocal area network associated with a customer premises 235 and not in aservice provider network and/or content provider network. In someembodiments, the system might automatically open a ticket in the helpdesk to address the detected error. Alternatively, or additionally, thesystem might open a return materials authorization (“RMA”) formalfunctioning equipment located at the customer premises 235, mightautomatically ship a new device to the user, and might automaticallysend return packaging to the user for shipping the malfunctioningequipment.

In some embodiments, one or more of the user device 220, gateway 225,media content source 240 (which may include one or more content providerdevices, one or more service provider devices, and/or the like), and/orcomputing system 260 (which may include one or more content providerdevices, one or more service provider devices, and/or the like) mightalso detect that the media player 205 is experiencing signal degradationand might send a notification to one or more user devices 220, one ormore service provider devices, and/or one or more content providerdevices.

The notification may identify the error and/or fault occurring withmedia player 205 and/or a communication line communicatively coupled tomedia player 205. The identification of the error and/or fault mayindicate that an error and/or fault is occurring in at least one of themedia player 205 and/or a communication line communicatively coupled tothe media player 205, and/or the like.

In some cases, the one or more display devices 210, the one or more userdevices 220, the one or more service provider devices located in mediacontent source 240 and/or computing system 260, and/or the one or morecontent provider devices located in media content source 240 and/orcomputing system 260, and/or the like might display the notificationcontaining the one or more options to address the error with mediaplayer 205.

The notification may contain one or more options for a user, technician,service provider, content provider, and/or the like to address and/orcorrect the error occurring with media player 205. The one or moreoptions may include, without limitation: (1) an option to displayinstructions indicating steps to follow to address the error in mediaplayer 205; (2) an option to contact at least one of a user, a serviceprovider, or a content provider; (3) an option to automatically set up acall (e.g., a voice call, a video call, a chatbot chat session, and/orthe like) or a chat session (e.g., an instant messaging session or atext messaging session, etc.) between the user and at least one of theservice provider or the content provider; (4) an option to restart themedia player 205; (5) an option to open a ticket indicating the errorwith media player 205 with at least one of the service provider or thecontent provider; and/or (6) an option to run a bot with predeterminedsteps to determine whether the error is local or system-wide usingremote test automation (“RTA”) or the like, and either to return resultsto the system and/or the user with information regarding the errorand/or to automatically solve the error based on the RTA with option tocontact the user with a notification indicating that the error has beensolved; and/or the like.

In various embodiments, a user, technician, service provider, and/orcontent provider may select via the display device 210, user device 220,the service provider device, and/or the content provider device, atleast one option to address the error occurring with media player 205.By selecting at least one of the one or more options, at least one ofthe following may occur: (1) at least one of a user device 220, adisplay device 210, a service provider device, and/or a content providerdevice may display instructions indicating steps to follow to addressthe error with media player 205; (2) an email, text message, etc. may besent to at least one of a user (via at least one of a user device 220, adisplay device 210, and/or the like), a service provider (via at leastone of a service provider device), a content provider (via at least oneof a content provider device) to contact at least one of the user,service provider, and/or content provider; (3) a call (e.g., a voicecall, a video call, and/or the like) or a chat session (e.g., an instantmessaging session or a text messaging session, etc.) may beautomatically set up between the user (via a user device 220 and/ordisplay device 210) and at least one of the service provider (via aservice provider device) or the content provide (via a content providerdevice); (4) the media player 205 may be automatically restarted; (5) aticket indicating the error with the media device 205 may be opened withat least one of the service provider or the content provider; and/or (6)the system to perform RTA to determine whether the error is local orsystem-wide and either to return the results to the system and/or theuser with information regarding the error and/or to automatically solvethe error based on the RTA and to optionally contact the user with thenotification indicating that the error has been solved; and/or the like.

The email, text message, ticket, and/or the like may indicate that themedia player 205 is experiencing signal degradation and may contain oneor more options to correct and/or fix the media device 205.

Additionally and/or alternatively, a user may select an option toschedule a technician to fix the media player 205. Selecting this optionmay allow a user to set-up an appointment with a technician and for thenotification to be sent to the technician scheduled to fix the mediaplayer 205.

Similar methods and/or systems may be used to detect an error and/orfault occurring with display device 210, user device 220, and/or thelike.

FIG. 3 is a schematic diagram illustrating yet another system forimplementing error and/or fault detection in a network(s) and/or mediastream, in accordance with various embodiments. In FIG. 3, the faultmight occur at gateway 325, in a communication line communicativelycoupled to gateway 325, in network 350, at a media content source 340,in a communication line communicatively coupled to media content source340, and/or the like. In this case, one or more of the media player 305,display device 310, user device 320, and/or gateway 325 may send one ormore notifications indicating that the media player 305, user device320, and/or gateway 325 is experiencing signal degradation to one ormore user devices 320, one or more service provider devices, one or morecontent provider devices, etc. Upon receiving simultaneous or nearsimultaneous notifications from the one or more of the media player 305,display device 310, user device 320, and/or gateway 325, the mediaplayer 305, one or more user devices 320, one or more service providerdevices, one or more content provider devices, etc. might determine thatthe fault occurred at the gateway 325, in a communication linecommunicatively coupled to gateway 325, in network 350, at a mediacontent source 340, in a communication line communicatively coupled tomedia content source 340, and/or the like. A notification may then besent indicating where the fault occurred and appropriate options forrepair might be initiated, as described with respect to FIGS. 1 and 2.

FIG. 4 is a flow diagram illustrating a method 400 for implementingerror and/or fault detection in a network(s), in accordance with variousembodiments.

While the techniques and procedures are depicted and/or described in acertain order for purposes of illustration, it should be appreciatedthat certain procedures may be reordered and/or omitted within the scopeof various embodiments. Moreover, while the method 400 illustrated byFIG. 4 can be implemented by or with (and, in some cases, are describedbelow with respect to) the systems 100, 200, and 300 of FIGS. 1, 2, and3, respectively (or components thereof), such methods may also beimplemented using any suitable hardware (or software) implementation.Similarly, while each of the systems 100, 200, and 300 of FIGS. 1, 2,and 3, respectively (or components thereof), can operate according tothe method 400 illustrated by FIG. 4 (e.g., by executing instructionsembodied on a computer readable medium), the systems 100, 200, and 300of FIGS. 1, 2, and 3 can each also operate according to other modes ofoperation and/or perform other suitable procedures.

In the non-limiting embodiment of FIG. 4, method 400, at block 405,might comprise detecting, with a computing system, an error or faultoccurring in a first network. The error or fault may be occurring in atleast one of a service provider network, a content provider network,and/or a local area network, and/or the like. The error or fault may beat least one of a reduction in bandwidth to the customer premises.Additionally and/or alternatively, the error or fault might be at leastone of an error occurring in a WiFi connection, an error occurring in adigital subscriber line, an error occurring in a fiber-optic connection,or an error occurring in at least one of a modem, a gateway, a set topbox, a desktop computer, a laptop computer, a tablet computer, awireless phone, a gaming console, a media player, or a remote-controldevice, and/or the like.

In some cases, method 400, at block 410, might additionally includesending, with the computing system, a notification indicating that theerror has occurred in the first network to at least one of a userdevice, a service provider device, or a content provider device. Thenotification may contain one or more options to address the error in thefirst network. Sending the notification to at least one of a use device,a service provider device, a content provider device, and/or the likemight optionally include sending the notification via a second networkthat is different from the first network.

In some cases, the computing system that detected the error might be thesame as at least one of the user device, the service provider device, orthe content provider device. In other cases, the computing system thatdetected the error might be different from any of the user device, theservice provider device, or the content provider device. Additionallyand/or alternatively, the computing system may be at least one of amodem, a gateway, a set top box, a desktop computer, a laptop computer,a tablet computer, a server computer, a wireless phone, a video gameconsole, or a remote-control device, and/or the like. The at least oneof the user device, the service provider device, or the content providerdevice might include at least one of a set top box, a desktop computer,a laptop computer, a tablet computer, a server computer, a wirelessphone, a gaming console, or a remote-control device, and/or the like.

The notification might be sent as a dying gasp—i.e., as the computingsystem detects that one or more components (e.g., one or morecommunications connections, one or more user devices, one or moreservice provider devices, one or more content provider devices, one ormore modems, one or more gateways, one or more set top boxes, one ormore desktop computers, one or more laptop computers, one or more tabletcomputers, one or more server computers, one or more wireless phones,one or more video game consoles, one or more media players, or one ormore remote control devices, etc.) are failing, the computing systemmight send a notification indicating that the one or more components arefailing (i.e., an indication that the one or more components areexperiencing a loss of power, an indication that the one or morecomponents need to be restarted, and/or the like).

The one or more options included in the notification might include,without limitation, at least one of: (1) an option to displayinstructions indicating steps to follow to address the error in thefirst network; (2) an option to contact (e.g., via text or email) atleast one of a user, a service provider, or a content provider; (3) anoption to automatically set up a call (e.g., voice call, video call, achatbot chat session, etc.) or a chat session (e.g., an instantmessaging session or a text messaging session, etc.) between the userand at least one of the service provider or the content provider; (4) anoption to restart at least one of a modem, a gateway, a set top box, adesktop computer, a laptop computer, a tablet computer, a wirelessphone, a gaming console, a media player, or a remote control device; (5)an option to open a ticket indicating the error in the first networkwith at least one of the service provider or the content provider; or(6) an option to run a bot with predetermined steps to determine whetherthe error is local or system-wide using remote test automation (“RTA”)or the like, and either to return results to the system and/or the userwith information regarding the error and/or to automatically solve theerror based on the RTA with option to contact the user with anotification indicating that the error has been solved; and/or the like.

In some embodiments, the notification might further include anindication of the error occurring in the first network. The notificationmight indicate that the error is occurring in a local area network, aservice provider network, a content provider network, and/or the like.The notification might indicate that there has been a reduction inbandwidth to the customer premises. Additionally and/or alternatively,the notification might indicate that the error is occurring in a WiFiconnection, the error is occurring in a digital subscriber line, theerror is occurring in a fiber-optic connection, or the error isoccurring in at least one of a modem, a gateway, a set top box, adesktop computer, a laptop computer, a tablet computer, a wirelessphone, a gaming console, a media player, or a remote-control device,and/or the like.

In some cases, method 400, at block 415, might include receiving, withthe at least one of the user device, the service provider device, or thecontent provider device, the notification indicating that the error hasoccurred in the first network and, at block 420, displaying, with the atleast one of the user device, the service provider device, or thecontent provider device, the notification containing the one or moreoptions to address the error in the first network.

In some embodiments, method 400, at block 425, might also includeselecting, with the at least one of the user device, the serviceprovider device, or the content provider device, at least one of the oneor more options to address the error in the first network. Selecting theone or more options might cause one or more of: (1) at least one of theinstructions indicating steps to follow to address the error in thefirst network to be displayed; (2) at least one of the user, the serviceprovider, or the content provider to be contacted; (3) the call or thechat session between the user and at least one of the service provideror the content provider to be set up; (4) at least one of the modem, thegateway, the set top box, the desktop computer, the laptop computer, thetablet computer, the wireless phone, the gaming console, the mediaplayer, or the remote control device to be restarted; and/or (5) theticket indicating the error with the first network with at least one ofthe service provider or the content provider to be opened; and/or thelike.

In some cases, method 400, might include the method 500, shown in FIG.5. Alternatively, method 500 might be a standalone method to address oneor more errors influencing a media content stream.

FIG. 5 is a flow diagram illustrating a method 500 for implementingerror and/or fault detection with a media content stream, in accordancewith various embodiments.

While the techniques and procedures are depicted and/or described in acertain order for purposes of illustration, it should be appreciatedthat certain procedures may be reordered and/or omitted within the scopeof various embodiments. Moreover, while the method 500 illustrated byFIG. 5 can be implemented by or with (and, in some cases, are describedbelow with respect to) the systems 100, 200, and 300 of FIGS. 1, 2, and3, respectively (or components thereof), such methods may also beimplemented using any suitable hardware (or software) implementation.Similarly, while each of the systems 100, 200, and 300 of FIGS. 1, 2,and 3, respectively (or components thereof), can operate according tothe method 500 illustrated by FIG. 5 (e.g., by executing instructionsembodied on a computer readable medium), the systems 100, 200, and 300of FIGS. 1, 2, and 3 can each also operate according to other modes ofoperation and/or perform other suitable procedures.

In some embodiments, method 500, at block 505, might include streaming,with a media player or a user device, a media content stream containingat least one media content. The media player might include, withoutlimitation, at least one of a set top box, a desktop computer, a laptopcomputer, a tablet computer, a wireless phone, or a gaming console,and/or the like. The at least one media content might include, but isnot limited to, at least one of audio, music, or video content, and/orthe like.

The media player or the user device might detect an error in a networkinfluencing streaming of the media content stream (block 510). At block515, the method 500, might include sending, with the media player or theuser device, a notification to at least one of a user device, a serviceprovider device, or a content provider device. The notification mightinclude information associated with the error in the network andinformation associated with the media content stream. The notificationmight be sent periodically (e.g., every second, every minute, etc.) tothe at least one of the user device, the service provider device, or thecontent provider device, or the notification may be sent only when theerror is detected.

The information associated with the error might include anidentification of the error occurring in the network. The notificationmight indicate that the error is occurring in a local area network, aservice provider network, or a content provider network, and/or thelike. The notification might indicate that there has been a reduction inbandwidth to the customer premises. Additionally and/or alternatively,the notification might indicate that the error is occurring in a WiFiconnection, the error is occurring in a digital subscriber line, theerror is occurring in a fiber-optic connection, or the error isoccurring in at least one of a modem, a gateway, a set top box, adesktop computer, a laptop computer, a tablet computer, a wirelessphone, a gaming console, a media player, or a remote-control device,and/or the like.

In various embodiments, the information included in or associated withthe media content stream might include, without limitation, at least oneof a title of the at least one media content, a timestamp associatedwith the at least one media content, a channel associated with the atleast one media content, or a network associated with the at least onemedia content, and/or the like. The timestamp might indicate at leastone of a point in time in the media content stream when the error wasdetected or a point in time in the at least one media content that wassaved before the error was detected, and/or the like.

The method 500, at block 520, may then comprise displaying thenotification on at least one of the user device, the service providerdevice, and/or the content provider device.

In some cases, the method 500 might continue, at block 525, bydetermining whether the error is influencing streaming of the mediacontent stream. Based on a determination that the error is influencingstreaming of the media content stream, the method 500 might compriseperforming, with the media player or the user device, at least one ofautomatically recording the media content stream or automaticallyswitching a source of the media content stream (block 530). The mediacontent stream might be automatically recorded by a user device (e.g., adigital video recorder, etc.), a content provider device, and/or aservice provider device. The entire program associated with the mediacontent stream may be recorded, a portion of the media content streammay be recorded from a point in time when the error was detected, and/ora portion of the media content may be recorded from a point in time whenthe periodic notification was sent by the media player and/or the userdevice. A user may then retrieve the recorded video content from whenthe error occurred. Additionally and/or alternatively, the source of themedia content stream may be automatically switched from a first contentsource to a second content source (e.g., from broadcast to OnDemand,from a first content provider to a second content provider, from cableto an online application, and/or the like).

In various additional embodiments, based on a determination that theerror is influencing streaming of the media content stream, the method500, at block 535, might identify, with the media player or the userdevice, one or more additional media players and/or additional userdevices available to stream the media content stream. The identifieddevices might include one or more devices in proximity to the mediaplayer and/or the user device, one or more devices associated with aviewer viewing the original media content stream, and/or the like.

The media player and/or user device might then display a list of theidentified one or more user devices available to stream the mediacontent stream on a display screen of the media player (block 540). Thedisplay of the list might be displayed with the media player and/or on auser device. The display might give a user the option to select one ormore user devices to display the media content. A user selection mightcause the media stream to be played automatically on the selected userdevice.

Alternatively, the display might indicate one or more display deviceswhere the media stream has already automatically begun playing. Themedia player and/or the user device may select an additional device toautomatically begin displaying the media stream based on one or morefactors including additional devices associated with one or more usersviewing the media stream, proximity of the additional devices to themedia player and/or the user device, and/or the like.

The method 500, at block 545, might include streaming the media contenton at least one of the identified devices. In order to stream the mediacontent, the identified devices might utilize the information associatedwith the at least one media content to identify the at least one mediacontent that was streaming at the media player or the user device. Thisinformation may include, but is not limited to, at least one of a titleof the media content, a season of the media content, an episode of themedia content, a point in time when the error began influencingstreaming of the media content stream, and/or a point in time before theerror began influencing streaming of the media content, and/or the like.The one or more identified user devices may then stream the mediacontent from at least one of the determined point in time in the mediacontent when the error occurred or the determined point in time in themedia content before the error occurred.

FIGS. 6A-6C (collectively, “FIG. 6”) are block diagrams illustratingvarious non-limiting examples 600, 600′, and 600″ of error and/or faultdetection in a network(s), in accordance with various embodiments.

With reference to FIG. 6, a gateway device 605 that is located at acustomer premises associated with a user might communicatively couplewith a streaming service source or content source 620 via the Internet615 and via a network access point (“NAP”) 615 connecting the gatewaydevice 605 to the Internet 615. In some embodiments, remote testautomation (“RTA”) or the like may be used to determine whether theerror is located local to a user's customer premises (i.e., at thegateway device 605, or the like), located within the service provider'snetwork (e.g., at the NAP 610, or the like), and/or located within thesystem associated with the content provider (i.e., at the streamingservice source 620, or the like).

For example, with reference to the non-limiting example 600 of FIG. 6A,the RTA or the system might determine that the gateway device (or modem)605 that is located at the customer premises is functioning withinnormal parameters, might determine that the network access point (“NAP”)610 (or other network equipment operated by the network serviceprovider) is functioning within normal parameters, and might determinethat the error is located at the streaming service source 620 associatedwith the content provider, as denoted by the circle symbols under theblock representing the gateway device 605, under the block representingthe NAP 610, and under the icon representing the Internet 615, anddenoted by the “X” symbol under the block representing the streamingservice source 620 in FIG. 6A. In such a case, based on suchdetermination, the system might automatically send a message to thecontent provider with information regarding the error and with a requestfor the content provider to address the error.

In another embodiment, as depicted in the non-limiting example 600′ ofFIG. 6B, the RTA or the system might determine that the gateway device(or modem) 605 that is located at the customer premises is functioningwithin normal parameters, might determine that the error is located atthe network access point (“NAP”) 610 (or at least one other networkequipment operated by the network service provider), and might determinethat the streaming service source 620 associated with the contentprovider is functioning within normal parameters, as denoted by thecircle symbols under the block representing the gateway device 605,under the icon representing the Internet 615, and under the blockrepresenting the streaming service source 620, and denoted by the “X”symbol under the block representing the NAP 610 in FIG. 6B. In such acase, based on such determination, the system might automatically open aticket (either with notification sent to the customer or user, or withno notification sent to the customer or user, or the like), and in somecases, might automatically dispatch a technician to perform a truck rollto address the error at the NAP 610 (or at the location of the at leastone other network equipment) while sending the technician informationregarding the error and tips or solutions for addressing the error.

In yet another embodiment, as depicted in the non-limiting example 600″of FIG. 6C, the RTA or the system might determine that the error islocated at that the gateway device (or modem) 605 that is located at thecustomer premises, might determine the network access point (“NAP”) 610(or at least one other network equipment operated by the network serviceprovider) is functioning within normal parameters, and might determinethat the streaming service source 620 associated with the contentprovider is functioning within normal parameters, as denoted by thecircle symbols under the block representing the NAP 610, under the iconrepresenting the Internet 615, and under the block representing thestreaming service source 620, and denoted by the “X” symbol under theblock representing the gateway device 605 in FIG. 6B. In such a case,based on such determination, the system might automatically open aticket to address the detected error. Alternatively, or additionally,the system might open a return materials authorization (“RMA”) for themalfunctioning equipment (i.e., the malfunctioning gateway device 605)located at the customer premises, might automatically ship a new device(i.e., new gateway device) to the user, and might automatically sendreturn packaging to the user for shipping the malfunctioning equipment(i.e., the malfunctioning gateway device 605).

Exemplary System and Hardware Implementation

FIG. 7 is a block diagram illustrating an exemplary computer or systemhardware architecture, in accordance with various embodiments. FIG. 7provides a schematic illustration of one embodiment of a computer system700 of the service provider system hardware that can perform the methodsprovided by various other embodiments, as described herein, and/or canperform the functions of computer or hardware system (i.e., mediaplayers 105, 205, and 305, display devices 110, 210, and 310, userdevices 120, 220, and 320, gateway(s) 125, 225, 325, and 605, mediacontent sources (or servers) 140, 240, 340, and 620, computing systems160, 260, and 360, etc.), as described above. It should be noted thatFIG. 7 is meant only to provide a generalized illustration of variouscomponents, of which one or more (or none) of each may be utilized asappropriate. FIG. 7, therefore, broadly illustrates how individualsystem elements may be implemented in a relatively separated orrelatively more integrated manner.

The computer or hardware system 700—which might represent an embodimentof the computer or hardware system (i.e., media players 105, 205, and305, display devices 110, 210, and 310, user devices 120, 220, and 320,gateway(s) 125, 225, 325, and 605, media content sources (or servers)140, 240, 340, and 620, computing systems 160, 260, and 360, etc.),described above with respect to FIGS. 1-6—is shown comprising hardwareelements that can be electrically coupled via a bus 705 (or mayotherwise be in communication, as appropriate). The hardware elementsmay include one or more processors 710, including, without limitation,one or more general-purpose processors and/or one or morespecial-purpose processors (such as microprocessors, digital signalprocessing chips, graphics acceleration processors, and/or the like);one or more input devices 715, which can include, without limitation, amouse, a keyboard and/or the like; and one or more output devices 720,which can include, without limitation, a display device, a printer,and/or the like.

The computer or hardware system 700 may further include (and/or be incommunication with) one or more storage devices 725, which can comprise,without limitation, local and/or network accessible storage, and/or caninclude, without limitation, a disk drive, a drive array, an opticalstorage device, solid-state storage device such as a random accessmemory (“RAM”) and/or a read-only memory (“ROM”), which can beprogrammable, flash-updateable, and/or the like. Such storage devicesmay be configured to implement any appropriate data stores, including,without limitation, various file systems, database structures, and/orthe like.

The computer or hardware system 700 might also include a communicationssubsystem 730, which can include, without limitation, a modem, a networkcard (wireless or wired), an infra-red communication device, a wirelesscommunication device and/or chipset (such as a Bluetooth™ device, an802.11 device, a WiFi device, a WiMax device, a WWAN device, cellularcommunication facilities, etc.), and/or the like. In some aspects, thecommunications subsystem 730 might also comprise a wireless video linksystem, which might utilize a wireless video link protocol comprising atleast one of WirelessHD protocol, Wireless Home Digital Interface(“WHDI”) protocol, or Wireless Gigabit Alliance (“WiGig”) protocol,and/or the like. The communications subsystem 730 may permit data to beexchanged with a network (such as the network described below, to nameone example), with other computer or hardware systems, and/or with anyother devices described herein. In many embodiments, the computer orhardware system 700 will further comprise a working memory 735, whichcan include a RAM or ROM device, as described above.

The computer or hardware system 700 also may comprise software elements,shown as being currently located within the working memory 735,including an operating system 740, device drivers, executable libraries,and/or other code, such as one or more application programs 745, whichmay comprise computer programs provided by various embodiments(including, without limitation, hypervisors, VMs, and the like), and/ormay be designed to implement methods, and/or configure systems, providedby other embodiments, as described herein. Merely by way of example, oneor more procedures described with respect to the method(s) discussedabove might be implemented as code and/or instructions executable by acomputer (and/or a processor within a computer); in an aspect, then,such code and/or instructions can be used to configure and/or adapt ageneral purpose computer (or other device) to perform one or moreoperations in accordance with the described methods.

A set of these instructions and/or code might be encoded and/or storedon a non-transitory computer readable storage medium, such as thestorage device(s) 725 described above. In some cases, the storage mediummight be incorporated within a computer system, such as the system 700.In other embodiments, the storage medium might be separate from acomputer system (i.e., a removable medium, such as a compact disc,etc.), and/or provided in an installation package, such that the storagemedium can be used to program, configure, and/or adapt a general purposecomputer with the instructions/code stored thereon. These instructionsmight take the form of executable code, which is executable by thecomputer or hardware system 700 and/or might take the form of sourceand/or installable code, which, upon compilation and/or installation onthe computer or hardware system 700 (e.g., using any of a variety ofgenerally available compilers, installation programs,compression/decompression utilities, etc.) then takes the form ofexecutable code.

It will be apparent to those skilled in the art that substantialvariations may be made in accordance with specific requirements. Forexample, customized hardware (such as programmable logic controllers,field-programmable gate arrays, application-specific integratedcircuits, and/or the like) might also be used, and/or particularelements might be implemented in hardware, software (including portablesoftware, such as applets, etc.), or both. Further, connection to othercomputing devices such as network input/output devices may be employed.

As mentioned above, in one aspect, some embodiments may employ acomputer or hardware system (such as the computer or hardware system700) to perform methods in accordance with various embodiments of theinvention. According to a set of embodiments, some or all of theprocedures of such methods are performed by the computer or hardwaresystem 700 in response to processor 710 executing one or more sequencesof one or more instructions (which might be incorporated into theoperating system 740 and/or other code, such as an application program745) contained in the working memory 735. Such instructions may be readinto the working memory 735 from another computer readable medium, suchas one or more of the storage device(s) 725. Merely by way of example,execution of the sequences of instructions contained in the workingmemory 735 might cause the processor(s) 710 to perform one or moreprocedures of the methods described herein.

The terms “machine readable medium” and “computer readable medium,” asused herein, refer to any medium that participates in providing datathat causes a machine to operate in a specific fashion. In an embodimentimplemented using the computer or hardware system 700, various computerreadable media might be involved in providing instructions/code toprocessor(s) 710 for execution and/or might be used to store and/orcarry such instructions/code (e.g., as signals). In manyimplementations, a computer readable medium is a non-transitory,physical, and/or tangible storage medium. In some embodiments, acomputer readable medium may take many forms, including, but not limitedto, non-volatile media, volatile media, or the like. Non-volatile mediaincludes, for example, optical and/or magnetic disks, such as thestorage device(s) 725. Volatile media includes, without limitation,dynamic memory, such as the working memory 735. In some alternativeembodiments, a computer readable medium may take the form oftransmission media, which includes, without limitation, coaxial cables,copper wire and fiber optics, including the wires that comprise the bus705, as well as the various components of the communication subsystem730 (and/or the media by which the communications subsystem 730 providescommunication with other devices). In an alternative set of embodiments,transmission media can also take the form of waves (including withoutlimitation radio, acoustic and/or light waves, such as those generatedduring radio-wave and infra-red data communications).

Common forms of physical and/or tangible computer readable mediainclude, for example, a floppy disk, a flexible disk, a hard disk,magnetic tape, or any other magnetic medium, a CD-ROM, any other opticalmedium, punch cards, paper tape, any other physical medium with patternsof holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chipor cartridge, a carrier wave as described hereinafter, or any othermedium from which a computer can read instructions and/or code.

Various forms of computer readable media may be involved in carrying oneor more sequences of one or more instructions to the processor(s) 710for execution. Merely by way of example, the instructions may initiallybe carried on a magnetic disk and/or optical disc of a remote computer.A remote computer might load the instructions into its dynamic memoryand send the instructions as signals over a transmission medium to bereceived and/or executed by the computer or hardware system 700. Thesesignals, which might be in the form of electromagnetic signals, acousticsignals, optical signals, and/or the like, are all examples of carrierwaves on which instructions can be encoded, in accordance with variousembodiments of the invention.

The communications subsystem 730 (and/or components thereof) generallywill receive the signals, and the bus 705 then might carry the signals(and/or the data, instructions, etc. carried by the signals) to theworking memory 735, from which the processor(s) 705 retrieves andexecutes the instructions. The instructions received by the workingmemory 735 may optionally be stored on a storage device 725 eitherbefore or after execution by the processor(s) 710.

As noted above, a set of embodiments comprises methods and systems forimplementing error and/or fault detection in a network, and, moreparticularly, to methods, systems, and apparatuses for implementingerror and/or fault detection in a network and/or media stream andproviding options to address the error and/or fault in the networkand/or media stream. FIG. 8 illustrates a schematic diagram of a system800 that can be used in accordance with one set of embodiments. Thesystem 800 can include one or more user computers, user devices, orcustomer devices 805. A user computer, user device, or customer device805 can be a general purpose personal computer (including, merely by wayof example, desktop computers, tablet computers, laptop computers,handheld computers, and the like, running any appropriate operatingsystem, several of which are available from vendors such as Apple,Microsoft Corp., and the like), cloud computing devices, a server(s),and/or a workstation computer(s) running any of a variety ofcommercially-available UNIX™ or UNIX-like operating systems. A usercomputer, user device, or customer device 805 can also have any of avariety of applications, including one or more applications configuredto perform methods provided by various embodiments (as described above,for example), as well as one or more office applications, databaseclient and/or server applications, and/or web browser applications.Alternatively, a user computer, user device, or customer device 805 canbe any other electronic device, such as a thin-client computer,Internet-enabled mobile telephone, and/or personal digital assistant,capable of communicating via a network (e.g., the network(s) 810described below) and/or of displaying and navigating web pages or othertypes of electronic documents. Although the exemplary system 800 isshown with two user computers, user devices, or customer devices 805,any number of user computers, user devices, or customer devices can besupported.

Certain embodiments operate in a networked environment, which caninclude a network(s) 810. The network(s) 810 can be any type of networkfamiliar to those skilled in the art that can support datacommunications using any of a variety of commercially-available (and/orfree or proprietary) protocols, including, without limitation, TCP/IP,SNA™, IPX™, AppleTalk™, and the like. Merely by way of example, thenetwork(s) 810 (similar to network(s) 130 or 150 of FIG. 1, network(s)230 or 250 of FIG. 2, network(s) 330 or 350 of FIG. 3, or the like) caneach include a local area network (“LAN”), including, withoutlimitation, a fiber network, an Ethernet network, a Token-Ring™ networkand/or the like; a wide-area network (“WAN”); a wireless wide areanetwork (“WWAN”); a virtual network, such as a virtual private network(“VPN”); the Internet; an intranet; an extranet; a public switchedtelephone network (“PSTN”); an infra-red network; a wireless network,including, without limitation, a network operating under any of the IEEE802.11 suite of protocols, the Bluetooth™ protocol known in the art,and/or any other wireless protocol; and/or any combination of theseand/or other networks. In a particular embodiment, the network mightinclude an access network of the service provider (e.g., an Internetservice provider (“ISP”)). In another embodiment, the network mightinclude a core network of the service provider, and/or the Internet.

Embodiments can also include one or more server computers 815. Each ofthe server computers 815 may be configured with an operating system,including, without limitation, any of those discussed above, as well asany commercially (or freely) available server operating systems. Each ofthe servers 815 may also be running one or more applications, which canbe configured to provide services to one or more clients 805 and/orother servers 815.

Merely by way of example, one of the servers 815 might be a data server,a web server, a cloud computing device(s), or the like, as describedabove. The data server might include (or be in communication with) a webserver, which can be used, merely by way of example, to process requestsfor web pages or other electronic documents from user computers 805. Theweb server can also run a variety of server applications, including HTTPservers, FTP servers, CGI servers, database servers, Java servers, andthe like. In some embodiments of the invention, the web server may beconfigured to serve web pages that can be operated within a web browseron one or more of the user computers 805 to perform methods of theinvention.

The server computers 815, in some embodiments, might include one or moreapplication servers, which can be configured with one or moreapplications accessible by a client running on one or more of the clientcomputers 805 and/or other servers 815. Merely by way of example, theserver(s) 815 can be one or more general purpose computers capable ofexecuting programs or scripts in response to the user computers 805and/or other servers 815, including, without limitation, webapplications (which might, in some cases, be configured to performmethods provided by various embodiments). Merely by way of example, aweb application can be implemented as one or more scripts or programswritten in any suitable programming language, such as Java™, C, C#™ orC++, and/or any scripting language, such as Perl, Python, or TCL, aswell as combinations of any programming and/or scripting languages. Theapplication server(s) can also include database servers, including,without limitation, those commercially available from Oracle™,Microsoft™, Sybase™, IBM™, and the like, which can process requests fromclients (including, depending on the configuration, dedicated databaseclients, API clients, web browsers, etc.) running on a user computer,user device, or customer device 805 and/or another server 815. In someembodiments, an application server can perform one or more of theprocesses for implementing error detection in a network, and, moreparticularly, to methods, systems, and apparatuses for implementingerror and/or fault detection in a network and/or media stream andproviding options to address the error and/or fault in the networkand/or media stream, as described in detail above. Data provided by anapplication server may be formatted as one or more web pages (comprisingHTML, JavaScript, etc., for example) and/or may be forwarded to a usercomputer 805 via a web server (as described above, for example).Similarly, a web server might receive web page requests and/or inputdata from a user computer 805 and/or forward the web page requestsand/or input data to an application server. In some cases, a web servermay be integrated with an application server.

In accordance with further embodiments, one or more servers 815 canfunction as a file server and/or can include one or more of the files(e.g., application code, data files, etc.) necessary to implementvarious disclosed methods, incorporated by an application running on auser computer 805 and/or another server 815. Alternatively, as thoseskilled in the art will appreciate, a file server can include allnecessary files, allowing such an application to be invoked remotely bya user computer, user device, or customer device 805 and/or server 815.

It should be noted that the functions described with respect to variousservers herein (e.g., application server, database server, web server,file server, etc.) can be performed by a single server and/or aplurality of specialized servers, depending on implementation-specificneeds and parameters.

In certain embodiments, the system can include one or more databases 820a-820 n (collectively, “databases 820”). The location of each of thedatabases 820 is discretionary: merely by way of example, a database 820a might reside on a storage medium local to (and/or resident in) aserver 815 a (and/or a user computer, user device, or customer device805). Alternatively, a database 820 n can be remote from any or all ofthe computers 805, 815, so long as it can be in communication (e.g., viathe network 810) with one or more of these. In a particular set ofembodiments, a database 820 can reside in a storage-area network (“SAN”)familiar to those skilled in the art. (Likewise, any necessary files forperforming the functions attributed to the computers 805, 815 can bestored locally on the respective computer and/or remotely, asappropriate.) In one set of embodiments, the database 820 can be arelational database, such as an Oracle database, that is adapted tostore, update, and retrieve data in response to SQL-formatted commands.The database might be controlled and/or maintained by a database server,as described above, for example.

According to some embodiments, system 800 might further comprise a mediaplayer 825 (similar to media player 105, 205, and 305 of FIGS. 1-3,etc.). System 800, according to some embodiments, might also compriseone or more display devices 830 (similar to display devices 110, 210,and 310 of FIGS. 1-3, etc.), which might each include a displayscreen(s) 835 (similar to display screens 115, 215, and 315 of FIGS.1-3, etc.). Additionally and/or alternatively, system 800 might furthercomprise one or more user devices 840 (similar to user devices 120, 220,and 320 of FIGS. 1-3, etc.), and/or the like.

In some cases, system 800 might include a network 845 (similar tonetwork(s) 130, 230, and 330 of FIGS. 1-3, etc.). Network 845 may be alocal area network, and/or the like. In addition, system 800 mightinclude a gateway 850 (similar to gateway(s) 125, 225, and 325 of FIGS.1-3, etc.). Gateway 850 might be used to communicatively couplenetwork(s) 810 and 845.

Additionally and/or alternatively, the media player 825, the one or moredisplay devices 830 (including the display screen(s) 835), the userdevice(s) 840, and/or the gateway 850 may disposed within a customerpremises 855.

System 800 might further comprise one or more media (e.g., video, audio,or game) content sources or servers 860 (similar to media contentsource(s) 140, 240, and 340 of FIGS. 1-3, etc.) and correspondingdatabase(s) 865 (similar to database(s) 145, 245, and 345 of FIGS. 1-3,etc.) that might communicatively couple to the media player 825 via oneor more networks 810 and/or 845. Additionally and/or alternatively,system 800 might include one or more computing systems 870 (similar tocomputing system(s) 160, 260, and 360 of FIGS. 1-3, etc.) associatedwith a service provider and/or content provider and one or morecorresponding databases 875 (similar to database(s) 165, 265, and 365 ofFIGS. 1-3, etc.).

In operation, in a first embodiment, the media player 825, the one ormore display devices 830, the one or more user devices 840, the one ormore gateways 850, one or more modems, one or more media content sources860, one or more computing system 870, and/or the like might detect anerror or fault within a network 810 and/or network(s) 845. The error orfault in the network(s) 810 and/or network(s) 845 may occur in a localarea network, in a service provider network, in a content providernetwork, in the media player 825, in the display device 830, in the userdevice 840, in the media content source 860, in the gateway 850, and/orin the computing system 870, and/or the like.

In some embodiments, based on the detection of an error occurring innetwork(s) 810 and/or network(s) 845, the media player 825, displaydevice 830, user device 840, media content sources 860, gateway 850,and/or computing system 870, and/or the like, may send a notificationindicating that the error has occurred in the network(s) 810 and/ornetwork(s) 845 to at least one of a media player 825, a display device830, a user device 840, gateway 850, media content source 860, computingsystem 870, and/or the like. The notification may then be displayed on adisplay screen communicatively coupled to the media player 825, displaydevice 830, user device 840, gateway 850, media content sources 860,and/or computing system 870, and/or the like. The notification mayinclude one or more options to address the error occurring withnetwork(s) 810 and/or network(s) 845, the media player 825, displaydevice 830, user device 840, gateway 850, media content sources 860,and/or computing system 870, and/or the like.

In operation, in a second embodiment, media player 825 may detect anerror occurring in the streaming of a media content stream. The mediaplayer 825 may then send a notification to at least one of a displaydevice 830, a user device 840, media content source 860, and/orcomputing system 870. The notification may include informationassociated with the error in the network and information associated withthe media content stream.

These and other functions of the system 800 (and its components) aredescribed in greater detail above with respect to FIGS. 1-6.

While certain features and aspects have been described with respect toexemplary embodiments, one skilled in the art will recognize thatnumerous modifications are possible. For example, the methods andprocesses described herein may be implemented using hardware components,software components, and/or any combination thereof. Further, whilevarious methods and processes described herein may be described withrespect to particular structural and/or functional components for easeof description, methods provided by various embodiments are not limitedto any particular structural and/or functional architecture but insteadcan be implemented on any suitable hardware, firmware and/or softwareconfiguration. Similarly, while certain functionality is ascribed tocertain system components, unless the context dictates otherwise, thisfunctionality can be distributed among various other system componentsin accordance with the several embodiments.

Moreover, while the procedures of the methods and processes describedherein are described in a particular order for ease of description,unless the context dictates otherwise, various procedures may bereordered, added, and/or omitted in accordance with various embodiments.Moreover, the procedures described with respect to one method or processmay be incorporated within other described methods or processes;likewise, system components described according to a particularstructural architecture and/or with respect to one system may beorganized in alternative structural architectures and/or incorporatedwithin other described systems. Hence, while various embodiments aredescribed with—or without—certain features for ease of description andto illustrate exemplary aspects of those embodiments, the variouscomponents and/or features described herein with respect to a particularembodiment can be substituted, added and/or subtracted from among otherdescribed embodiments, unless the context dictates otherwise.Consequently, although several exemplary embodiments are describedabove, it will be appreciated that the invention is intended to coverall modifications and equivalents within the scope of the followingclaims.

What is claimed is:
 1. A method, comprising: detecting, with a computingsystem, an error in a first network; sending, with the computing system,a notification indicating that the error has occurred in the firstnetwork to at least one of a user device, a service provider device, ora content provider device, wherein the notification contains one or moreoptions to address the error in the first network; receiving, with theat least one of the user device, the service provider device, or thecontent provider device, the notification indicating that the error hasoccurred in the first network; displaying, with the at least one of theuser device, the service provider device, or the content providerdevice, the notification containing the one or more options to addressthe error in the first network; and selecting, with the at least one ofthe user device, the service provider device, or the content providerdevice, at least one of the one or more options to address the error inthe first network.
 2. The method of claim 1, wherein the computingsystem is the same as one or more of the at least one of the userdevice, the service provider device, or the content provider device. 3.The method of claim 1, wherein the computing system is at least one of amodem, a gateway, a set top box, a desktop computer, a laptop computer,a tablet computer, a server computer, a wireless phone, a video gameconsole, a media player, or a remote-control device.
 4. The method ofclaim 1, wherein each of the at least one of the user device, theservice provider device, or the content provider device comprises atleast one of a set top box, a desktop computer, a laptop computer, atablet computer, a server computer, a wireless phone, a gaming console,a media player, or a remote-control device.
 5. The method of claim 1,wherein sending the notification further comprises: sending, with thecomputing system, the notification over a second network, wherein thesecond network is different from the first network.
 6. The method ofclaim 1, wherein the notification comprises an identification of theerror occurring in the first network.
 7. The method of claim 1, whereinthe error is a reduction in bandwidth.
 8. The method of claim 1, whereinthe error in the first network is at least one of an error occurring ina Wi-Fi connection, an error occurring in a digital subscriber line, anerror occurring in a fiber-optic connection, or an error occurring in atleast one of a modem, a gateway, a set top box, a desktop computer, alaptop computer, a tablet computer, a wireless phone, a gaming console,a media player, or a remote control device.
 9. The method of claim 1,wherein the one or more options to address the error in the firstnetwork comprise at least one of: an option to display instructionsindicating steps to follow to address the error in the first network; anoption to contact at least one of a user, a service provider, or acontent provider; an option to automatically set up a call or a chatsession between the user and at least one of the service provider or thecontent provider; an option to restart at least one of a modem, agateway, a set top box, a desktop computer, a laptop computer, a tabletcomputer, a wireless phone, a gaming console, a media player, or aremote-control device; or an option to open a ticket indicating theerror in the first network with at least one of the service provider orthe content provider.
 10. The method of claim 9, wherein the option toautomatically set up the call further comprises an option to start avideo call with at least one of the user, the service provider, or thecontent provider.
 11. The method of claim 9, wherein selecting the atleast one of the one or more options to address the error in the firstnetwork causes one or more of: at least one of the instructionsindicating steps to follow to address the error in the first network tobe displayed; at least one of the user, the service provider, or thecontent provider to be contacted; the call or the chat session betweenthe user and at least one of the service provider or the contentprovider to be set up; at least one of the modem, the gateway, the settop box, the desktop computer, the laptop computer, the tablet computer,the wireless phone, the gaming console, the media player, or theremote-control device to be restarted; or the ticket indicating theerror with the first network with at least one of the service provideror the content provider to be opened.
 12. The method of claim 1, furthercomprising: streaming, with the user device, a media content stream;determining, with the user device, whether the error is influencingstreaming of the media content stream; and based on a determination thatthe error is influencing streaming of the media content stream,performing at least one of automatically recording the media contentstream or switching a source of media content stream.
 13. A systemcomprising: a first computing system, comprising: at least one firstprocessor; and a first non-transitory computer readable mediumcommunicatively coupled to the at least one first processor, the firstnon-transitory computer readable medium having stored thereon computersoftware comprising a first set of instructions that, when executed bythe at least one first processor, causes the first computing system to:detect an error in a first network; and send a notification indicatingthat the error has occurred in the first network to at least one of auser device, a service provider device, or a content provider device,wherein the notification contains one or more options to address theerror in the first network; and the at least one of the user device, theservice provider device, or the content provider device, eachcomprising: at least one second processor; and a second non-transitorycomputer readable medium communicatively coupled to the at least onesecond processor, the second non-transitory computer readable mediumhaving stored thereon computer software comprising a second set ofinstructions that, when executed by the at least one second processor,causes the user device, the service provider device, or the contentprovider device to: receive the notification indicating that the errorhas occurred in the first network; display the notification containingthe one or more options to address the error in the first network; andselect at least one of the one or more options to address the error inthe first network.
 14. The system of claim 13, wherein the firstcomputing system is the same as one or more of the at least one of theuser device, the service provider device, or the content providerdevice.
 15. The system of claim 13, wherein the notification comprisesan identification of the error occurring in the first network.
 16. Thesystem of claim 13, wherein the error is a reduction in bandwidth. 17.The system of claim 13, wherein the error in the first network is atleast one of an error occurring in a Wi-Fi connection, an erroroccurring in a digital subscriber line, an error occurring in afiber-optic connection, or an error occurring in at least one of amodem, a gateway, a set top box, a desktop computer, a laptop computer,a tablet computer, a wireless phone, a gaming console, a media player,or a remote-control device.
 18. The system of claim 13, wherein the oneor more options to address the error in the first network comprise atleast one of: an option to display instructions indicating steps tofollow to address the error in the first network; an option to contactat least one of a user, a service provider, or a content provider; anoption to automatically set up a call or a chat session between the userand at least one of the service provider or the content provider; anoption to restart at least one of a modem, a gateway, a set top box, adesktop computer, a laptop computer, a tablet computer, a wirelessphone, a gaming console, a media player, or a remote-control device; oran option to open a ticket indicating the error in the first networkwith at least one of the service provider or the content provider. 19.The system of claim 18, wherein the option to automatically set up thecall further comprises an option to start a video call with at least oneof the user, the service provider, or the content provider.
 20. Themethod of claim 18, wherein selecting the at least one of the one ormore options to address the error in the first network causes one ormore of: at least one of the instructions indicating steps to follow toaddress the error in the first network to be displayed; at least one ofthe user, the service provider, or the content provider to be contacted;the call between the user and at least one of the service provider orthe content provider to be set up; at least one of the modem, thegateway, the set top box, the desktop computer, the laptop computer, thetablet computer, the wireless phone, the gaming console, the mediaplayer, or the remote-control device to be restarted; or the ticketindicating the error with the first network with at least one of theservice provider or the content provider to be opened.